package com.ruoyi.system.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.mapper.ContractPromptMapper;
import com.ruoyi.system.domain.ContractPrompt;
import com.ruoyi.system.domain.ContractPromptContent;
import com.ruoyi.system.service.IContractPromptService;

/**
 * 合同提示词Service业务层处理
 * 
 * @author ruoyi
 */
@Service
public class ContractPromptServiceImpl implements IContractPromptService 
{
    @Autowired
    private ContractPromptMapper contractPromptMapper;

    /**
     * 查询合同提示词
     * 
     * @param promptId 合同提示词主键
     * @return 合同提示词
     */
    @Override
    public ContractPrompt selectContractPromptByPromptId(Long promptId)
    {
        return contractPromptMapper.selectContractPromptByPromptId(promptId);
    }

    /**
     * 查询合同提示词列表
     * 
     * @param contractPrompt 合同提示词
     * @return 合同提示词
     */
    @Override
    public List<ContractPrompt> selectContractPromptList(ContractPrompt contractPrompt)
    {
        return contractPromptMapper.selectContractPromptList(contractPrompt);
    }

    /**
     * 根据合同类型ID查询提示词列表
     * 
     * @param typeId 合同类型ID
     * @return 合同提示词集合
     */
    @Override
    public List<ContractPrompt> selectContractPromptByTypeId(Long typeId)
    {
        return contractPromptMapper.selectContractPromptByTypeId(typeId);
    }

    /**
     * 新增合同提示词
     * 
     * @param contractPrompt 合同提示词
     * @return 结果
     */
    @Override
    public int insertContractPrompt(ContractPrompt contractPrompt)
    {
        contractPrompt.setCreateTime(DateUtils.getNowDate());
        return contractPromptMapper.insertContractPrompt(contractPrompt);
    }

    /**
     * 修改合同提示词
     * 
     * @param contractPrompt 合同提示词
     * @return 结果
     */
    @Override
    public int updateContractPrompt(ContractPrompt contractPrompt)
    {
        contractPrompt.setUpdateTime(DateUtils.getNowDate());
        return contractPromptMapper.updateContractPrompt(contractPrompt);
    }

    /**
     * 批量删除合同提示词
     * 
     * @param promptIds 需要删除的合同提示词主键
     * @return 结果
     */
    @Override
    public int deleteContractPromptByPromptIds(Long[] promptIds)
    {
        return contractPromptMapper.deleteContractPromptByPromptIds(promptIds);
    }

    /**
     * 删除合同提示词信息
     * 
     * @param promptId 合同提示词主键
     * @return 结果
     */
    @Override
    public int deleteContractPromptByPromptId(Long promptId)
    {
        return contractPromptMapper.deleteContractPromptByPromptId(promptId);
    }

    /**
     * 新增提示词内容
     * 
     * @param content 提示词内容
     * @return 结果
     */
    @Override
    @Transactional
    public int insertPromptContent(ContractPromptContent content)
    {
        content.setCreateTime(DateUtils.getNowDate());
        return contractPromptMapper.insertPromptContent(content);
    }

    /**
     * 修改提示词内容
     * 
     * @param content 提示词内容
     * @return 结果
     */
    @Override
    @Transactional
    public int updatePromptContent(ContractPromptContent content)
    {
        content.setUpdateTime(DateUtils.getNowDate());
        return contractPromptMapper.updatePromptContent(content);
    }

    /**
     * 获取提示词内容
     * 
     * @param promptId 提示词ID
     * @return 提示词内容
     */
    @Override
    public ContractPromptContent selectPromptContentByPromptId(Long promptId)
    {
        return contractPromptMapper.selectPromptContentByPromptId(promptId);
    }
}
